﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ETA.IService
{
    public interface IRegistrationMainFormService
    {

        /// <summary>
        /// 创建一条主流程信息
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        CreateRegistrationMainFormResponse CreateRegistrationMainForm(CreateRegistrationMainFormRequest req);

        /// <summary>
        /// 修改当前流程所在的步骤 通常发生在 学生提交但 未被管理员审核通过,也就是说这里只会存储进行中的,方便管理员筛选数据，实习生检测自己完成到那一步还是根据FlowLog中的状态
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        ModifyRegistrationMainFormResponse ModifyRegistrationMainForm(ModifyRegistrationMainFormRequest req);

        /// <summary>
        /// 返回申请主单信息
        /// </summary>
        /// <param name="req"></param>
        /// <returns></returns>
        QueryRegistrationMainFormResponse QueryRegistrationMainFormList(QueryRegistrationMainFormRequest req);

        /// <summary>
        /// 更新指定主流出的当前步骤
        /// </summary>
        /// <param name="registrationMainFormId"></param>
        /// <param name="flowStepId"></param>
        /// <returns></returns>
        bool UpdateCurrentStep(string userId, string flowStepId);
    }
}
